1. Field of the Invention
The present invention relates to a motion vector detecting circuit used in, for example-, an image stabilizing apparatus for correcting the movement of the hands for video cameras.
2. Description of the Prior Art
In an image stabilizing apparatus for correcting the movement of the hands for video cameras, it is important to detect a motion vector so as to extract the movement of an image from a video signal. Some methods of detecting a motion vector have been conventionally proposed. One of the methods of detecting a motion vector is a typical point matching method described in National Technical Report, Vol. 37, No. 3, Jun. 1991, pp. 48 to 54.
Description is now made of the outline of this typical point matching method. A motion vector detecting block is set in a video area, and the motion vector detecting block is divided into a plurality of subblocks. A plurality of sampling points and one typical point are set in each of the subblocks. First, the difference between the level of a video signal corresponding to each of the sampling points in each of the subblocks in the present frame (or the present field) and the level of a video signal corresponding to the typical point in the corresponding subblock in the preceding frame (or the preceding field), that is, a correlated value at each of the sampling points is found. The correlated values at the sampling points which are the same in displacement from each of the typical points between the subblocks are then accumulated. The displacement of the sampling points at which the minimum value of values obtained by accumulating the correlated values is found, that is, the sampling points at which correlation is the highest is extracted as the movement of a subject, that is, a motion vector.
The typical point matching method will be described more specifically. FIG. 12 shows a video area. Four motion vector detecting blocks 21 to 24 of the same size are set in the video area 1. Each of the detecting blocks 21 to 24 is further divided into 30 subblocks 3 of the same size. As shown in FIG. 13, a plurality of sampling points 4 exist in each of the subblocks 3, and one of the sampling points 4 is set to a typical point 5.
FIG. 14 shows a conventional motion vector detecting circuit using a typical point matching method between fields.
A digital video signal inputted to an input terminal 11 is supplied to a typical point memory circuit 12 including a typical point memory (not shown) and a correlated value operating circuit 13. Digital data (luminance data) corresponding to the luminance level of each of the typical points 5 is stored in the typical point memory in the typical point memory circuit 12. In the correlated value operating circuit 13, the absolute value of the difference between digital data (luminance data) corresponding to the luminance level of each of sampling points 4 in each of the subblocks 3 in the present field and the luminance data corresponding to the typical point 5 in the corresponding subblock 3 in the preceding field which is read out from the typical point memory circuit 12, that is, a correlated value at each of the sampling points 4 is operated.
The correlated values at the respective sampling points 4 which are found in the correlated value operating circuit 13 are sent to an accumulating circuit 14 including a correlated value memory (not shown) and an adding circuit (not shown). In the accumulating circuit 14, the correlated values at the sampling points 4 which are the same in displacement from each of the typical points 5 between the subblocks 3 in the same detecting block 21 to 24 are accumulated. This accumulation is performed for each detecting block 21 to 24. The result of the accumulation in each displacement which is found by the accumulating circuit 14 is referred to as a value obtained by accumulating correlated value.
An output of the accumulating circuit 14 is supplied to a minimum value detecting circuit 15 and an average value calculating circuit 16. In the minimum value detecting circuit 15, the minimum value of values obtained by accumulating the correlated values and the displacement of the sampling points at which the minimum value is obtained are found for each detecting block 21 to 24. In the average value calculating circuit 16, the average value of the values obtained by accumulating the correlated values is found for each detecting block 21 to 24.
The displacement, the minimum value and the average value which are found for each detecting block 21 to 24 by the minimum value detecting circuit 15 and the average value calculating circuit 16 are supplied to a microcomputer 17. The microcomputer 17 first extracts four motion vectors for the respective detecting blocks 21 to 24 on the basis of the displacement for each detecting block 12 to 14. The microcomputer 17 then removes one or more motion vectors for the detecting blocks in which the value of the minimum value divided by the average value is smaller than a predetermined threshold value out of the four motion vectors for the respective detecting blocks 21 to 24 as one or ones low in reliability, and extracts one motion vector as a true motion vector from the remaining motion vectors.
Control of addresses, timing and the like of the typical point memory circuit 12, the accumulating circuit 14, and the average value calculating circuit 15 is carried out by a control circuit 18.
In the above described conventional motion vector detecting circuit, the average value of the values obtained by accumulating the correlated values using the accumulating circuit 14 is found. Therefore, each of storage areas holding values obtained by accumulating correlated values in the correlated value memory used in the accumulating circuit 14 requires the number of bits which is sufficient not to cause an overflow even if the correlated values are accumulated. Consequently, a large-capacity memory must be used as the correlated value memory in the accumulating circuit 14.
Furthermore, in the above described conventional motion vector detecting circuit, the number of sampling points 4 may be decreased so as to reduce the capacity of the correlated value memory in the accumulating circuit 14. If the number of sampling points is simply decreased, however, the detection precision is decreased.
When the scanning system is 2:1 line interlacing and the typical point matching method between fields is employed, a typical point memory having a capacity capable of storing luminance data whose number corresponds to the number of typical points 5 corresponding to two fields has been conventionally used as the typical point memory in the typical point memory circuit 12. For example, if the total number of typical points in each field is taken as 120, 240 data storage areas assigned addresses 0 to 239 are provided in the typical point memory.
When a video signal in a first (odd) field is sent, luminance data corresponding to the 120 typical points 5 in the first field are written to the addresses 0 to 119. When a video signal in a second (even) filed is then sent, luminance data corresponding to the typical points 5 in the first field are read out from the addresses 0 to 119 and at the same time, luminance data corresponding to the 120 typical points 5 in the second field are written to addresses 240 to 439.
In the conventional motion vector detecting circuit using the typical point matching method between frames, a typical point memory having a capacity capable of storing data whose number corresponds to the number of typical points 5 corresponding to two frames is used as the typical point memory in the typical point memory circuit 12. Specifically, data storage areas whose number corresponds to the number of typical points corresponding to two fields or two frames have been conventionally required for the typical point memory.
Meanwhile, when the relative position between each of the subblocks 3 and the typical point 5 is always constant as in the above described conventional motion vector detecting circuit, it is possible to write and read out data to and from the typical point memory in different sampling cycles of a video signal. However, when a motion vector is detected while moving typical points for each field as described in, for example, THE JOURNAL OF THE INSTITUTE OF TELEVISION ENGINEERS OF JAPAN, Vol. 45, No. 10, pp. 1221 to 1229 (1991), one of sampling points 4 on the leftmost side (in a start end in the horizontal scanning direction) and a typical point 5 in each of subblocks 3 can coincide with each other. Consequently, data must be written and read out to and from the typical point memory within the same sampling cycle of a video signal. Therefore, a high-speed memory capable of writing and reading out data within the same sampling cycle of a video signal has been conventionally used as the typical point memory. However, such a high-speed memory has the disadvantages of having a large area and consuming high power.